/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import gestorvideoclub.*;
import gestorvideoclub.jdbc.PeliculaJDBC;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import gestorvideoclub.Pelicula;
import gestorvideoclub.enumeraciones.*;
import gestorvideoclub.jdbc.ProductoJDBC;
import gestorvideoclub.jdbc.TarifaJDBC;
import gestorvideoclub.jdbc.VideojuegoJDBC;
import gestorvideoclub.util.UtilFecha;
import gestorvideoclub.util.introduceDatos;
import java.util.*;
import javax.management.timer.Timer;


/**
 *
 * @author JAVA
 */
public class PruebaRafalin {

    public static void main(String[] args) {

        Pelicula p = new Pelicula();
        //p.altaProducto();
        //List<Pelicula> lista = PeliculaJDBC.consultaPeliculas();
        //p.recorreLista(lista);
        //System.out.println(PeliculaJDBC.obtenerPelicula(1).toString()); 
        //p.ConsultaCodigoProducto();
        //p.ConsultaNombreProducto();

        //p.BajaProducto();
        //p.BuscaGenero();
        //p.modificacionProducto();

        //Pelicula pe = new Pelicula(5, null, TipoProductoEnum.DVD, ProductoEnum.Baja, null, 21, 2.0, null, null, null, null, 120, null, null, 2010, null, GeneroPeliculaEnum.Drama);
        //System.out.println(pe.getEstado());
       /* List<Pelicula> lista = new ArrayList();
        lista = PeliculaJDBC.consultaPeliculasReparto("kevin");
        p.recorreLista(lista);*/
        /* List<Pelicula> lista = new ArrayList();
        lista = PeliculaJDBC.consultaPeliculasNombre("bailando");
        p.recorreLista(lista);*/
        /*List<Pelicula> lista = new ArrayList();
        lista = PeliculaJDBC.consultaPeliculasReparto("kevin");
        p.recorreLista(lista);*/

        /*video = VideojuegoJDBC.obtenerVideojuego(2);
        System.out.println(video.toString());*/
        Videojuego video = new Videojuego();
        //p.altaProducto();
        // video.altaProducto();
        //video.altaProducto();
        //video.modificacionProducto();
        //video.bajaProducto();
        ///video.buscaGenero();
        //video.consultaCodigoProducto();
        //video.consultaNombreProducto();
        //video.consultaFranquiciaProducto();
        // video.consultaProveedorProducto();
       /*List<Pelicula> lista = PeliculaJDBC.consultaPeliculas();
        p.recorreLista(lista);*/
        /* 
        List<Videojuego> lista = VideojuegoJDBC.consultaVideojuegos();
        video.recorreLista(lista);*/



        // Videoclub vid = new Videoclub();
        //vid.AltaVideoClub();
        //vid.ModificacionVideoclub();
        //vid.ConsultaVideoClub();
        //gestorvideoclub.Menu.menuInicial();

        // p.altaProducto();
        //p.altaProducto();
        //video.altaProducto();
        //Ubicacion ubi = new Ubicacion();
        //ubi.consultaUbicacionesCajero();
        /**
        ProductoJDBC.consultaProductosCajero();
        ProductoJDBC.consultaProductosTienda();
        
         */
        //p.consultaProveedorPelicula();
        //p.consultaFranquiciaPelicula();
        //p.altaProducto();
        //p.modificacionProducto();
        //p.consultaNombreProducto();
        //p.altaProducto();
        // p.bajaProducto();
        //p.buscaGenero();
       /* if(p.compruebaEstadoProducto("Baja"))
        System.out.println("ESTADO ENCONTRADO");
        List<Pelicula> lista = new ArrayList();
        lista = PeliculaJDBC.consultaPeliculas();
        p.recorreLista(lista);*/
        //p.consultaCodigoProducto();
        //p.consultaFranquiciaProducto();
        //p.consultaNombreProducto();
        //p.consultaProveedorProducto();
        //p.bajaProducto(); 
        //p.altaProducto();
        //p.modificacionProducto();
      /* TipoProductoEnum tipo= p.recogeTipoProductoPelicula();
        if(tipo.toString().equalsIgnoreCase("DVD")) 
        System.out.println("DVD");
        else
        System.out.println("BLUERAY");*/
        //video.menuBuscaVideojuego();
        Tarifa t = new Tarifa();
        //p.altaProducto();
        //t.listadoTarifas(); 4
        /*System.out.println("STRIN");
        String prueba = introduceDatos.introduceString();
        /* System.out.println("Double");
        Double p1 = introduceDatos.introduceDouble();
        
        System.out.println("FLOAT");
        Float p2 = introduceDatos.introduceFloat();
         */
        /*System.out.println("ENTERO");
        int p3 = introduceDatos.introduceEntero();
        System.out.println(p3);
        //System.out.println(p1+"  "+p2+" "+p3);*/
        //p.modificacionProducto();
        //p.altaProducto();
        // p.modificacionProducto();
        //video.altaProducto();
        //video.modificacionProducto();
       long fechaIni;
       int dias;
        ///TODO PREGUNTAR FECHAS
       /* fechaIni =  System.currentTimeMillis();//guardamos fecha actual como fecha de inicio
        System.out.println("Cuanto tiempo vas a tener la Tarifa activa(dias): ");
        dias = introduceDatos.introduceEntero();
        Date fechaInicio = new Date(fechaIni);
        Date fechaFinal = new Date(fechaInicio.getTime() + dias * Timer.ONE_DAY);
        System.out.println(fechaInicio);
        System.out.println(fechaFinal);
        String fechaSQL = UtilFecha.fechaMySQL(fechaFinal);
        String fechaSQL2 = UtilFecha.fechaMySQL(fechaInicio);
        System.out.println(fechaSQL);
        System.out.println(fechaSQL2);*/
        //t.altaTarifa();
      /* System.out.println("Introduce Formato:(dd//mm//YYYY)");
       String fecha = introduceDatos.introduceString();
        Date fi= new Date();
        fi = UtilFecha.obtenerFecha(fecha);
        String hola = UtilFecha.fechaMostrar(fi);
        Date d = new Date("22/03/2009");*/
       //t.bajaTarifa();
 //p.consultaNombreProducto();
       int aver = calculaDiferenciaFecha(UtilFecha.obtenerFecha("05/05/2000"),UtilFecha.obtenerFecha("05/05/2001"));
       System.out.println(aver);
      int aver2 = calculaDiferenciaFecha(UtilFecha.obtenerFecha("05/05/2002"),UtilFecha.obtenerFecha("05/05/2001"));
       System.out.println(aver2);

    }
           public static int calculaDiferenciaFecha(Date fechaMayor, Date fechaMenor){
        int dif = -1;
        long longMayor = fechaMayor.getTime();
        long longMenor = fechaMenor.getTime();

        dif = (int)(longMayor - longMenor)/(86400000);//Un día tiene 86400000 milisegundos

        return dif;
    }


    public static Date recogeFecha(){
        boolean salir= false;
        String recoge;
        Date fecha = new Date();
        do{
            System.out.println("Introduce dia(1-31):");
            int dia = introduceDatos.introduceEntero();
            System.out.println("Introduce Mes(1-12):");
            int mes = introduceDatos.introduceEntero() - 1;//enero empieza en 0
            System.out.println("Introduce año:");
            int anno = introduceDatos.introduceEntero();
            GregorianCalendar gc = new GregorianCalendar();
            gc.set(anno, mes, dia);
            fecha = gc.getTime();
            String muestra = UtilFecha.fechaMostrar(fecha);
            System.out.println("FECHA INTRODUCIDA: "+muestra);
            System.out.println("Fecha Correcta(s/n): ");
            recoge = introduceDatos.introduceString2();
            do{
             if (recoge.compareToIgnoreCase("s") == 0 || recoge.compareToIgnoreCase("n") == 0) {
                        salir = true;
                    } else {
                        System.out.println("Introduzca s/n por favor: ");
                        recoge = introduceDatos.introduceString2();
                    }
            }while (!salir);
        } while (recoge.compareToIgnoreCase("n") == 0);
    return fecha;
    }
}
